wyp02033 发表于 2018-3-20 20:49:00


def fun(num_ls):
    for i in range(len(num_ls)):
      num_ls = str(num_ls)
    num_str = ''.join(num_ls)
    num_str = num_str[-1] + num_str[:-1]
    result = []
    for i in range(0, len(num_str), len(num_ls)):
      result.append(int(num_str)]))

    return result

ziyoufei2013 发表于 2018-3-20 21:29:46

def moveComma(aList):
    numLen = len(str(aList))# 获得数字长度
    # 将列表转换为字符串
    aStr =
    aStr = ''.join(aStr)
    result = # 给第一个数留出位置
    for index in range(numLen - 1, len(aStr) - 1, numLen):
      aNum = int(aStr)
      result.append(aNum)
    result = int(aStr[-1] + aStr)
    return result


inputList =
print(moveComma(inputList))

wyf345491656 发表于 2018-3-20 21:35:49

def lis(list1):
    #声明新列表保存返回值
    list2 = []
    #将列表中逗号左移一位,最后一个两位数的个位移到最左
    for i in range(len(list1)):
      list2.append((list1 % 10) * 10 + (list1 // 10))
    return list2
#测试
list1 =
list2 = lis(list1)
print(list2)

kjhsj 发表于 2018-3-20 21:45:55

a =



def func(list1):
    num1 = len(list1)
    m = ''
   
    for x in range(num1):
      m += str(list1)
    b = []
    for y in range(num1):
      b.append(int(m+m))
   

    return b

print (func(a))

yjsx86 发表于 2018-3-21 10:05:37

L =

def func(L):
    rs = ''
    for x in str(L):
      if x == ',':
            rs = rs[:-1] + x + rs[-1]
      elif x == ' ':
            continue
      else:
            rs += x
    rs = rs[-1]+rs[:-1]
    rs = rs.split(',')
    return list(map(int,rs))

print(func(L))
#结果

nononoyes 发表于 2018-3-21 10:31:03

def fun(list1):
    list2 =
    #最后一位留出来
    list3 = list1.copy()
    #删掉最后一位
    num = list3.pop()
    #最后一位的十位:
    a = num//10%10
    #最后一位的个位:
    b = num%10
    list2 = b
    for i in list3:
      #每一位的十位
      decade = i//10%10
      list2.append(decade)
      #每一位的个位
      unit = i%10
      list2.append(unit)
    list2.append(a)
    listresult = []
    for i in range(len(list2) - 1):
      if i % 2 == 0:
            num = list2 * 10 + list2
            i = i + 1
            listresult.append(num)
    return listresult

print(fun())


凌九霄 发表于 2018-3-21 11:41:46

本帖最后由 凌九霄 于 2018-3-21 13:43 编辑

import random

random.seed()
listone = []

for i in range(1, 10):
    listone.append(random.randint(10, 99))

print("生成的随机数组:", listone)


def listchange(listpara):
    listtwo = []
    stringlist = map(str, listpara)
    char = ''.join(list(stringlist))
    char = char[-1] + char
    x = 0
    while x < len(char):
      listtwo.append(int(char))
      x += 2
    return listtwo


print("逗号左移位数组:", listchange(listone))

ghuigj 发表于 2018-3-21 12:48:57

ls1 =
str1 = #把ls1变成字符串
str2 = ''.join(str1)    #把ls2合并成一个字符串
print(str2)

n = len(str2)

#把字符串的第一个和最后一个调整位置
str3 = str2 + str2[:(n-1)]

print(str3)

#把字符串变成一个数字的列表

i = 0
ls2 = []
ls3 = []
while i < (len(str3)-1):

    #把字符串的两个两个取出
    str4 = str3 + str3
    #把字符串加到列表里
    ls3.append(str4)
    i = i+2

print(ls3)

sukiwhip 发表于 2018-3-21 16:23:42

list_a =

list_b =

list_c = []

a = list(''.join(list_b))

a.append(a)
del a

b = 0
k = ''

for j in a:
    k += j
    b += 1
    if b % 2 == 0:
      list_c.append(k)
      k = ''

list_d =

print(list_d)

checkily 发表于 2018-3-21 23:54:59

本帖最后由 checkily 于 2018-3-22 00:06 编辑

我的方法很土:
list1 =


def move(lis):
    temp = []
    temp.append(lis//10)
    for each in range(len(lis)-2):
      temp.append((lis % 10)*10+(lis//10))
    temp.append((lis[-2])//10*10**len(str(lis[-1]))+lis[-1])
    temp += (temp[-1] % 10)*10**len(str(temp))
    temp[-1] = temp[-1] // 10
    return temp


print(move(list1))


用len()判断数字是几位数

125zl 发表于 2018-3-22 00:34:42

本帖最后由 125zl 于 2018-3-22 00:35 编辑

回复错题了{:5_96:}

victor.xu 发表于 2018-3-22 12:07:46

def f(lis):
    lis1 =
    str1 = ''.join(lis1)
    lis2 = []
    for i in range(1, len(str1) - 2, 2):
      lis2.append(int(str1))
    lis2.insert(0, int(str1[-1] + str1))
    return lis2
lis =
result = f(lis)
print(result)

fan1993423 发表于 2018-3-22 14:29:47

本帖最后由 fan1993423 于 2018-3-22 14:40 编辑

a=
l=''
u=[]
for b in a:
    l+=str(b)
i=1
j=2
u.append(int(l))
while i<len(l)-4:
    u.append(int(l)*10+int(l))
    i+=2
    j+=2
u.append(int(l)*100+int(l)*10+int(l))
ge=u%10
bai=u//100
shi=(u-bai*100-ge)//10

new=bai*10+shi
u=u+ge*10
u=new
print(u)

冬雪雪冬 发表于 2018-3-22 18:58:15

评分截至标记。

BlueSand 发表于 2018-3-22 19:30:44

# encoding: utf-8
'''
本程序是将一个全都是两位数的列表中逗号向右移一个位置并将多余的数字排到第一个位置去
如=>
'''
def yw(dnl):
    a = []
    for i in range(len(dnl)):
      a.append((dnl % 10 * 10) + (dnl//10))
    return a


if __name__ == "__main__":
    l1 =
    l2 = yw(l1)
    print(l2)

Chase_Kas 发表于 2018-3-22 23:01:52

o41003121 发表于 2018-3-20 17:05
def switchnl(nlist):
    nlength = len(nlist)
    nclist = []


你这个方法还真是不错,多位数移动也顺带解决了~还有就是最后一位数移到前面的问题,总觉得会是个难点,结果根本不用在意,nlist(-1)正好就是指的最后一个元素!
还是不太习惯在列表里用负数去索引,这点得学习,用好了会非常方便~

Chase_Kas 发表于 2018-3-22 23:06:48

grf1973 发表于 2018-3-20 11:23


利用str.join方法一句就将列表转化成字符串了,get到了新技能~~

Chase_Kas 发表于 2018-3-22 23:10:07

°蓝鲤歌蓝 发表于 2018-3-19 23:34


列表推导式一句话就把字符串分割成列表了~~getget~~

o41003121 发表于 2018-3-23 00:40:02

°蓝鲤歌蓝 发表于 2018-3-19 23:34


如果是多种位数的列表就不太好用了!

t6am3 发表于 2018-3-25 16:35:33

def move(list1):
    str1 = ''
    for eachnumber in list1:
      str1 += str(eachnumber)
    str1 = str1 + str1[:(len(str1)-1)]
    list2 = []
    for i in range(0, len(str1)-1, 2):
      str_tmp = str1
      list2.append(int(str_tmp))
    return list2
页: 1 2 [3] 4
查看完整版本: Python:每日一题 167