当前位置:网站首页>String alignment method, self use, synthesis, newrlcjust
String alignment method, self use, synthesis, newrlcjust
2022-07-05 07:28:00 【work-harder】
background
- The content format of multiple strings in the list is inconsistent , There is pure Chinese , Pure English , There is also a mixture of Chinese and English .
- Use python Built-in function str.rjust Isochronous , Unable to align
- win10, anaconda 4.8.3, python 3.8.3
Way
- Calculate the middle of each string 、 Number of English single characters , Adjustment
- See code for details
- Fill character ( Fill in spaces to keep the length of characters ) Only single byte characters are supported temporarily
#
# pure English , Pure Chinese , A list of mixed English and Chinese strings (list) Align content : Right , Left , in
# After import , function chn_en_alignment.test() See how to use
# After import , function chn_en_alignment.newrlcjust(listchk, ttllength, direction ='r', fillwith = '0')
# or import chn_en_alignment.newrlcjust as rlcjust, Again according to rlcjust(' The order of the above parameters ') function
# V1, 20201016
#
# data for test
list1=['abc', 'a', 'abcded', 'aa']
list2=[' Middle core ', ' TSMC ', ' Huawei Technology ']
list3=['NXP', ' Middle core ', ' TSMC ']
list4=['NXP', ' Middle core ', 'Huawei Technology ']
list5=['123', ' in " core "', ' Hua Hua by Wei']
usage=''' Usage: newrlcjust(listchk, ttllength, direction ='r', fillwith = '0') listchk: String element list, To be checked ttllength: Integers , list The width requirements of all string alignment in , ttllength: The numbers are ttllength And list Maximum length of Chinese character conversion The biggest of direction: r-right, l-left, c-center, Default r fillwith: What to fill the empty space with ( If there is ), Default 0 ( zero ), Non English or non single byte characters are not supported at the moment '''
# chn =2, en=1, return additional len
def getLen(strchk):
# get total length, chn calculated as 2, en as 1
strlen = 0
for letter in strchk:
# print(letter, flush=True)
if ord(letter) > 255:
strlen += 2
else:
strlen += 1
return strlen
def newrlcjust(listchk, ttllength, direction ='r', fillwith = '0'):
# listchk: list with elements to be aligned;
# ttllength: total length you see after output;
# direction, default as 'r', one of the three 'r', or 'l', or 'c',
# fillwith, default as '0';
listchkLenmax=max(getLen(x) for x in listchk)
for strchk in listchk:
difflength = 0
if ttllength > listchkLenmax:
listchkLenmax = ttllength
ttl = listchkLenmax - (getLen(strchk)-len(strchk))
if direction == 'r':
print(strchk.rjust(ttl, fillwith))
elif direction == 'l':
print(strchk.ljust(ttl, fillwith))
else:
print(strchk.center(ttl, fillwith))
def test():
print('\n Chinese numeration 2 Width , English numeration 1 Width .')
print('len(str) Middle 、 A single part of English , Average position length 1')
print(usage)
print( "*" * 66, '\n')
print('following are examples: \n')
i_sequence = 0
for lst in [list1, list2, list3, list4, list5]:
print('lst:',lst)
direction=['r','l','c'][i_sequence]
print("example as: newrlcjust(lst, ttllength=1, direction ='" +direction + "', fillwith = '0')")
newrlcjust(lst, ttllength=1, direction =direction, fillwith = '0')
print('\n')
i_sequence += 1
i_sequence = i_sequence % 3
if __name__ == '__main__':
# newrlcjust(list4, 20, direction ='r', fillwith = '…')
# fill Of … , Chinese input method shift + 6, Again backspace once . powershell Cannot enter under
test()
边栏推荐
- [OBS] x264 Code: "buffer_size“
- I 用c I 实现队列
- Simple operation with independent keys (hey, a little fancy) (keil5)
- 2022 PMP project management examination agile knowledge points (7)
- Idea push project to code cloud
- [vscode] prohibit the pylance plug-in from automatically adding import
- What is sodium hydroxide?
- PostMessage communication
- Rough notes of C language (2) -- constants
- 1290_ Implementation analysis of prvtaskistasksuspended() interface in FreeRTOS
猜你喜欢

How to delete the virus of inserting USB flash disk copy of shortcut to

CADD course learning (6) -- obtain the existing virtual compound library (drugbank, zinc)

【无标题】

Line test -- data analysis -- FB -- teacher Gao Zhao

611. 有效三角形的个数

Negative number storage and type conversion in programs

Altimeter data knowledge point 2

Daily Practice:Codeforces Round #794 (Div. 2)(A~D)

PostMessage communication

2022年PMP项目管理考试敏捷知识点(7)
随机推荐
And let's play dynamic proxy (extreme depth version)
Database SQL practice 3. Find the current salary details of the current leaders of each department and their corresponding department number Dept_ no
苏打粉是什么?
[solved] there is something wrong with the image
Typescript get timestamp
How to deal with excessive memory occupation of idea and Google browser
【Node】npm、yarn、pnpm 区别
(tool use) how to make the system automatically match and associate to database fields by importing MySQL from idea and writing SQL statements
Miracast技术详解(一):Wi-Fi Display
2022年PMP项目管理考试敏捷知识点(7)
Unforgettable summary of 2021
Docker installs MySQL and uses Navicat to connect
[tf1] save and load parameters
1290_ Implementation analysis of prvtaskistasksuspended() interface in FreeRTOS
arcpy. SpatialJoin_ Analysis spatial connection analysis
I 用c I 实现队列
I 用c l 栈与队列的相互实现
Selenium element positioning
NPM and package common commands
Word import literature -mendeley